package com.mrjy.aiui.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.mrjy.aiui.dto.ChatMessageDTO;
import com.mrjy.common.entity.SolrEntity;

public class MessageUtils {
	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	/**
	 * 根据solr返回的内容推送文本消息
	 * @param se
	 * @param messageList
	 */
	public static void textMessageTemp(SolrEntity se ,  List<ChatMessageDTO> messageList){
		textMessage("这是与您相关问题需要的文字回答，希望能帮到您" , null, SmsTypeEnum.SYS_ANSWER.getSmsType() , messageList);
		textMessage(se.getCommentContent() , null, SmsTypeEnum.TEXT_ANSWER.getSmsType() , messageList);
		textMessage("看到我们专家的经验总结，有收获吗？" , null, SmsTypeEnum.SYS_ANSWER.getSmsType() , messageList);
	}
	/**
	 * 根据solr返回的内容推送语音消息
	 * @param se
	 * @param messageList
	 */
	public static void audioMessageTemp(SolrEntity se ,  List<ChatMessageDTO> messageList){
		textMessage("这是与您相关问题需要的语音回答，希望能帮到您" , null, SmsTypeEnum.SYS_ANSWER.getSmsType() , messageList);
		audioMessage(se.getRecordName() , se.getRecordDuration() , messageList);
		textMessage("听了我们专家语音的回复，有收获吗？" , null, SmsTypeEnum.SYS_ANSWER.getSmsType() , messageList);
	}
	
	/**
	 * 根据solr返回的内容推送视频消息
	 * @param se
	 * @param messageList
	 */
	public static void videoMessageTemp(SolrEntity se ,  List<ChatMessageDTO> messageList){
		textMessage("这是与您相关问题需要的视频回答，希望能帮到您" , null, SmsTypeEnum.SYS_ANSWER.getSmsType() , messageList);
		videoMessage(se.getVideoName() , se.getVideoId() ,se.getCoverUrl(), messageList);
		textMessage("观看了我们专家的精心讲解，有收获吗？" , null, SmsTypeEnum.SYS_ANSWER.getSmsType() , messageList);
	}
	
	/**
	 * 根据solr返回的内容推送导师消息
	 * @param se
	 * @param messageList
	 */
	public static void teacherMessageTemp(SolrEntity se ,  List<ChatMessageDTO> messageList){
		ChatMessageDTO cm = new ChatMessageDTO() ;
		cm.setContent(se.getTeacherName());
		cm.setRid(se.getUserId());
		cm.setPicUrl(se.getPicName());
		cm.setSmsType(SmsTypeEnum.TEACER_ANSWER.getSmsType());
		cm.setCreateTime(sdf.format(new Date()));
		messageList.add(cm) ;
	}
	/**
	 * 根据内容生成文本信信
	 * @param content
	 * @param smsType
	 * @param messageList
	 */
	public static void textMessage(String content ,String keywords , String smsType , List<ChatMessageDTO> messageList){
		ChatMessageDTO cm = new ChatMessageDTO() ;
		cm.setContent(content);
		cm.setKeywords(keywords);
		cm.setSmsType(smsType);
		cm.setCreateTime(sdf.format(new Date()));
		messageList.add(cm) ;
	}
	
	/**
	 * 根据内容生成语音信信
	 * @param recordName 语音资源名称
	 * @param recordDuration 语音时长
	 * @param messageList
	 */
	public static void audioMessage(String recordName , String recordDuration , List<ChatMessageDTO> messageList){
		ChatMessageDTO cm = new ChatMessageDTO() ;
		cm.setAudioUrl(recordName);
		cm.setDuration(recordDuration);
		cm.setSmsType(SmsTypeEnum.AUDIO_ANSWER.getSmsType());
		cm.setCreateTime(sdf.format(new Date()));
		messageList.add(cm) ;
	}
	
	public static void videoMessage(String videoName , Integer  videoId ,String coverUrl , List<ChatMessageDTO> messageList){
		ChatMessageDTO cm = new ChatMessageDTO() ;
		cm.setContent(videoName);
		cm.setRid(videoId);
		cm.setPicUrl(coverUrl);
		cm.setSmsType(SmsTypeEnum.VIDEO_ANSWER.getSmsType());
		cm.setCreateTime(sdf.format(new Date()));
		messageList.add(cm) ;
	}
}
